package com.zb.mobile.network.service;

import com.zb.entity.AccounLoginInfo;
import com.zb.exception.SMSException;
import com.zb.mobile.NetworkMobileCreateVo;

import java.util.Map;

/**
 * @Author WEN
 * @Date 2023/11/21 0021
 **/
public interface ConNetworkMobileService {

    /**
     * 校验服务商加入企业的邀请码
     * @param loginInfo
     * @param inviteCode 加入企业的邀请码
     */
    void checkNetworkJoinCustomer(AccounLoginInfo loginInfo, String inviteCode) throws SMSException;

    /**
     * 根据邀请码获取企业信息
     * @param loginInfo
     * @param inviteCode 加入企业的邀请码
     */
    Map<String, Object> getCustomerInfo(AccounLoginInfo loginInfo, String inviteCode) throws SMSException;

    /**
     * 创建服务商
     * @param loginInfo 登录信息
     * @param inviteCode 加入企业的邀请码
     */
    void saveNetwork(AccounLoginInfo loginInfo, String inviteCode, NetworkMobileCreateVo networkMobileCreateVo) throws SMSException;

    /**
     * 检查手机号是否加入服务商
     * @param loginInfo 登录信息
     * @param phone 手机号
     */
    void checkPhoneJoinNetwork(AccounLoginInfo loginInfo, String phone) throws SMSException;


    /**
     * 获取提现权限
     * @param loginInfo
     * @return
     */
    Object getWithdrawRoot(AccounLoginInfo loginInfo);

    /**
     * 获取查询费用权限
     * @param loginInfo
     * @return
     */
    Object getSelectFeeRoot(AccounLoginInfo loginInfo);

    /**
     * 获取是否允许超管代工程师提现
     * @param loginInfo
     * @return
     */
    Object getIsAllowManagerHelpWithdrawStrategy(AccounLoginInfo loginInfo);

}
